﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TangoFamilyAndGuide.Entidades
{
    [Serializable]
    public class Housing
    {
        private int id;                         //Clave
        private string descripcion;             //Description
        private Usuario usuario;
        private string pais;                    //Country
        private string provincia;               //State
        private string localidad;               //City
        private string direccion;               //Address
        private string codPost;
        private Contacto contacto;
        private WF wF;
        private string ultActualiz;
        private string comentarios;
        private string googleMap;
        private int ranking;
        private string tipoDestacado;

        private string neighborhood;
        private string approximateAddress;
        private string sizeSgm;
        private string typePlace;
        private string typeRoom;
        private string typeBathroom;
        private string housingOffer;
        private string skypeAddress;
        private string moneda;
        private decimal pricePerDay;
        private decimal pricePerMonth;
        private string priceComment;
        private string servicios;

        //Propiedades virtuales
        private string nombreImagenPortada;

        public Housing()
        {
            usuario = new Usuario();
            contacto = new Contacto();
            wF = new WF();
        }

        public int Id
        {
            set
            {
                id = value;
            }
            get
            {
                return id;
            }
        }
        public string Descripcion
        {
            set
            {
                descripcion = value;
            }
            get
            {
                return descripcion;
            }
        }
        public Usuario Usuario
        {
            set
            {
                usuario = value;
            }
            get
            {
                return usuario;
            }
        }
        public string Pais
        {
            set
            {
                pais = value;
            }
            get
            {
                return pais;
            }
        }
        public string Provincia
        {
            set
            {
                provincia = value;
            }
            get
            {
                return provincia;
            }
        }
        public string Localidad
        {
            set
            {
                localidad = value;
            }
            get
            {
                return localidad;
            }
        }
        public string Direccion
        {
            set
            {
                direccion = value;
            }
            get
            {
                return direccion;
            }
        }
        public string CodPost
        {
            set
            {
                codPost = value;
            }
            get
            {
                return codPost;
            }
        }
        public Contacto Contacto
        {
            set
            {
                contacto = value;
            }
            get
            {
                return contacto;
            }
        }
        public WF WF
        {
            set
            {
                wF = value;
            }
            get
            {
                return wF;
            }
        }
        public string UltActualiz
        {
            set
            {
                ultActualiz = value;
            }
            get
            {
                return ultActualiz;
            }
        }
        public string Comentarios
        {
            set
            {
                comentarios = value;
            }
            get
            {
                return comentarios;
            }
        }
        public string GoogleMap
        {
            set
            {
                googleMap = value;
            }
            get
            {
                return googleMap;
            }
        }
        public int Ranking
        {
            set
            {
                ranking = value;
            }
            get
            {
                return ranking;
            }
        }
        public string TipoDestacado
        {
            set
            {
                tipoDestacado = value;
            }
            get
            {
                return tipoDestacado;
            }
        }

        public string Neighborhood
        {
            set
            {
                neighborhood = value;
            }
            get
            {
                return neighborhood;
            }
        }
        public string ApproximateAddress
        {
            set
            {
                approximateAddress = value;
            }
            get
            {
                return approximateAddress;
            }
        }
        public string SizeSgm
        {
            set
            {
                sizeSgm = value;
            }
            get
            {
                return sizeSgm;
            }
        }
        public string TypePlace
        {
            set
            {
                typePlace = value;
            }
            get
            {
                return typePlace;
            }
        }
        public string TypeRoom
        {
            set
            {
                typeRoom = value;
            }
            get
            {
                return typeRoom;
            }
        }
        public string TypeBathroom
        {
            set
            {
                typeBathroom = value;
            }
            get
            {
                return typeBathroom;
            }
        }
        public string HousingOffer
        {
            set
            {
                housingOffer = value;
            }
            get
            {
                return housingOffer;
            }
        }
        public string SkypeAddress
        {
            set
            {
                skypeAddress = value;
            }
            get
            {
                return skypeAddress;
            }
        }
        public string Moneda
        {
            set
            {
                moneda = value;
            }
            get
            {
                return moneda;
            }
        }
        public decimal PricePerDay
        {
            set
            {
                pricePerDay = value;
            }
            get
            {
                return pricePerDay;
            }
        }
        public decimal PricePerMonth
        {
            set
            {
                pricePerMonth = value;
            }
            get
            {
                return pricePerMonth;
            }
        }
        public string PriceComment
        {
            set
            {
                priceComment = value;
            }
            get
            {
                return priceComment;
            }
        }
        public string Servicios
        {
            set
            {
                servicios = value;
            }
            get
            {
                return servicios;
            }
        }

        #region Propiedades redundantes
        public string Estado
        {
            get
            {
                return wF.Estado;
            }
        }
        #endregion
        #region Propiedades virtuales
        public string NombreImagenPortada
        {
            set
            {
                nombreImagenPortada = value;
            }
            get
            {
                return nombreImagenPortada;
            }
        }
        #endregion
    }
}
